package cn.dyp.com.automaticcontrolserver.bean;

import java.util.ArrayList;

/**
 * 
 * @author zongbingwu 控制器类，继承电子元件类， 控制器有开关状态status，0表示关闭，1表示打开
 *
 */
public class Controller extends Component {
	// 以下是本项目要用的4个控制器名称
	public static final String WATER_PUMP_CONTORL = "WaterPump"; // 水泵控制器
	public static final String BLOWER_CONTORL = "Blower"; // 风扇控制器
	public static final String ROADLAMP_CONTORL = "Roadlamp"; // 路灯控制器
	public static final String BUZZER_CONTORL = "Buzzer"; // 蜂鸣器控制器

	// 控制器的打开状态，默认为关闭, 0表示关闭，1表示打开
	private int status = 0;

	public Controller(String name, int subDev) {
		super(name, subDev);
	}

	public int getStatus() {
		return status;
	}

	public void setStatus(int status) {
		this.status = status;
	}

	/**
	 * 获取控制器的静态函数 根据控制器名称，从控制器列表中找到该控制器
	 * 
	 * @param crlList
	 *            控制器列表
	 * @param name
	 *            控制器名称
	 * @return 如果找到返回该控制器，如果没找到返回null
	 */
	public static Controller getControllerByName(ArrayList<Controller> crlList,
			String name) {
		Controller ret = null;
		if (crlList != null && name != null) {
			for (Controller crl : crlList) {
				if (name.equals(crl.getName())) {
					ret = crl;
					break;
				}
			}
		}
		return ret;
	}
}
